﻿using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using DeepEarth.Map.Core.Tiling;
namespace DeepEarth.Map.Core
{
    public interface IRasterable
    {
        BaseTileSource RasterTileSource { get; set; }
        BaseTileSource LabelsTileSource { get; set; }
        double RasterCrossoverViewportWidth { get; }
        double Opacity { get; }

        Rect LogicalBounds { get; set; }

        // Called by the layer when the view is changed
        void ViewChanged(MultiScaleImage multiScaleImage);

        // Signal that the rasterable should be refreshed by the layer
        event Action<MultiScaleTileSource> SignalRefresh;
    }
}
